package com.imagination.applet.domain.user.service;

import com.alibaba.fastjson.JSONObject;
import com.imagination.applet.controller.api.request.SaveHeadUrlReq;
import com.imagination.applet.domain.user.model.User;
import com.imagination.applet.infrastructure.common.RestResponse;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Optional;

public interface UserService {

    Optional<User> getUserByOpenId(String openId);

    Optional<User> getByUserId(Long userId);

    User createUser(String openId, String openIdType, String shareCode);

    void saveHeadUrl(SaveHeadUrlReq req);

    JSONObject info();

    void bindParent(Long parentId);

    void receiveciyuanbi(Long userId, String source);
}
